var express = require('express');
var router = express.Router();
var sha1 = require('sha1');
var UserModel = require('../models/user');
var checkNotLogin = require('../middlewares/check').checkNotLogin;


router.get('/',function(req,res,next){

    next();
});

router.post('/',function(req,res,next){
    let data = req.body;
    let name = data.userName;
    let password = data.password;
    // 校验参数
    try {
        if (!(name.length >= 1 && name.length <= 10)) {
        throw new Error('名字请限制在 1-10 个字符');
        }
        // if (['m', 'f', 'x'].indexOf(gender) === -1) {
            // throw new Error('性别只能是 m、f 或 x');
        // }
        // if (!(bio.length >= 1 && bio.length <= 30)) {
        //     throw new Error('个人简介请限制在 1-30 个字符');
        // }
        // if (!req.files.avatar.name) {
        //     throw new Error('缺少头像');
        // }
        if (password.length < 6) {
            throw new Error('密码至少 6 个字符');
        }
        // if (password !== repassword) {
        //     throw new Error('两次输入密码不一致');
        // }
    } catch (err) {
        return res.json({code:0,message:err.message});
    }

     // 待写入数据库的用户信息
     var user = {
        name: name,
        password: password,
    };

    console.log(user);
    // 用户信息写入数据库
    UserModel.create(user)
        .then(function (result) {
            // 此 user 是插入 mongodb 后的值，包含 _id
            user = result.ops[0];
            // 将用户信息存入 session
            delete user.password;
            req.session.user = user;
            // 跳转到首页
            console.log('注册成功')
            res.json({code: 1,message: '注册成功'});
        })
        .catch(function (e) {
            // 用户名被占用则跳回注册页，而不是错误页
            console.log('错误：' + e.message);
            if (e.message.match('E11000 duplicate key')) {
                return  res.json({code:2,message:'该账号已经注册'});
            }
            next(e);
        });

});


module.exports = router;